package com.company.ljh.easy;
/**
 * 876.给定一个头结点为 head 的非空单链表，返回链表的中间结点。
 *
 * 如果有两个中间结点，则返回第二个中间结点。
 */

import com.company.ljh.utils.ListNode;

/**
 * @description:
 * @projectName:leet_code
 * @see:com.company.ljh.easy
 * @author:ljh
 * @createTime:2022/6/1 15:22
 * @version:1.0
 */
public class 链表的中间结点 {
    /**
     * 计数即可
     * @param head
     * @return
     */
    public ListNode middleNode(ListNode head) {
        ListNode tail = head;
        ListNode middle = head;
        int size = 0;
        while(tail.next != null){
            tail = tail.next;
            size ++;
        }
        size = (size+1)/2;
        while(size > 0){
            middle = middle.next;
            size--;
        }
        return middle;
    }
}
